1. Field of Invention
The present invention relates generally to the field of editing and browsing XML documents. More specifically, the present invention is related to a system and a method for generating multiple customizable interfaces for XML documents.
2. Discussion of Prior Art
The Internet and the World Wide Web (WWW) have an important and influential role in today's society. One of the most common authoring languages used to create documents on the WWW is the HyperText Markup Language or HTML. HTML is similar to the Standard Generalized Markup Language or SGML, although it is not a strict subset. HTML defines the structure and layout of a WWW document via tags and attributes.
One of the primary goals of HTML was to mark up information according to its meaning, without regard to how this information would actually be rendered in a browser. This is accomplished by using fundamental elements which hold various values. For example, the elements “TITLE”, “H1”, “EM” (or “STRONG”), and “ADDRESS” hold various values corresponding to the title, main header, emphasized text, and contact information of an author. Utilizing similar elements (other than the fundamental elements) like “FONT” to get a nice layout makes it cumbersome to present the information, and yet still maintain the best possible effect regardless of the user's environment. Added elements make the processing (at the viewer's end) of HTML documents difficult, or even impossible at times. Thus, the decision of how the viewer's browser displays titles, headers, etc., is best left to the browser, since it has access to the users' personal preferences and environment.
But, this is not the case because all the additional layout information is placed outside the HTML documents themselves. One common way to accomplish this is by placing these additional elements in a file called the CSS. CSS, or short for Cascading Style Sheets, is a feature that allows HTML authors and Web site developers to have control over how pages are displayed. With CSS, designers and users can create style sheets that define how different elements, such as headers and links, appear. These style sheets can then be applied to any Web page.
As a direct result of individualized styling of Web documents, a lot of pages now contain tagging written for a specific version of a specific browser (with default preferences) and a specific screen resolution. These pages are often more or less unreadable to those who use a different browser. Thus, HTML has turned into a language that is browser-specific.
Another pitfall associated with HTML is that it is a language that is not user-specific. Thus, it is not possible for a user to mark up information precisely based on its meaning (since a lot of the personalized elements needed are not available in HTML). For example, chemists who want special elements for chemical formulas or measurement data, are not able to do so. On the other hand, to expect a language to hold various elements involving a myriad of categories is not a feasible idea.
In addition to the above-mentioned shortcomings, HTML is not a structured language. To overcome these shortcomings, a new standard for the creation of markup language called XML was introduced.
XML or Extensible Markup Language, a specification developed by the W3C. XML is a pared-down version of SGML, designed especially for Web documents. It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations. XML is becoming the universal language for data on the Web. It gives developers the power to deliver structured data from a wide variety of applications to the desktop for local computation and presentation. XML allows the creation of unique data formats for specific applications. It is also an ideal format for server-to-server transfer of structured data. XML is a subset of SGML that provides a uniform method for describing and exchanging structured data in an open, text-based format, and may deliver this data by use of the standard HTTP protocol or other similar application layer protocols. XML is poised to supplement HTML as the standard Web formatting specification. At the present time, Microsoft® Internet Explorer version 5 handles XML using CSS while Netscape® is still experimenting with XML support.
XML allows the application programmer to specify a schema that defines the structure of any XML document that uses that schema. There are two ways to specify a schema, the first is XML schema, a developing standard that allows the application programmer to describe the schema using an XML document. XML schema also provides extended functionality such as data typing and inheritance. An alternative to XML schema is the document type definition (DTD). DTDs are written using a syntax different than that of XML schema and do not provide as much functionality.
Although XML has all these advantages, there are some limitations associated with the editing and browsing of XML documents. Existing XML editing and browsing tools produce a standard view of all XML documents. Specifically, most prior art systems lack a schema specific interface utilizing components to support multiple input and output modes. FIG. 1 illustrates a prior art scenario wherein XML schema 100 is analyzed by prior art system 102 (e.g., BeanMaker or Editormaker). Next, the system generates a single component 104 that helps create schema specific interface 106. Another prior art system, Xeena, provides for schema analysis as well as front end rendering. It should however be noted that all prior art systems mentioned above create schema specific interfaces based on only one component per schema. None of these systems generate mode specific components that can interact to produce multi-modal views of data.
In addition, some prior art methods allow specification of interfaces by creating an XML document conforming to a specified schema (e.g., UIML, VoiceXML). The problem with such methods is that they require a technical person to write the XML-based specification. This scenario is illustrated in FIG. 2, wherein user 200 hard codes XML-based specification 202, which is a custom XML document conforming to a specified schema and prior art system 204 utilizes document 202 to generate schema specific interface 206. It should however be noted that these prior art methods fail to automatically generate a specification based upon the schema.
Whatever the precise merits, features and advantages of the above prior art systems, none of them achieve or fulfills the purposes of the present invention. The present invention generates mode specific components that can interact to produce a user-specific, document specific, multi-modal interface. These and other objects are achieved by the detailed description that follows.